#include <stddef.h>
#include <stdio.h>

#if defined(_WIN32) && defined(_MSC_VER)
#define restrict __restrict
#endif

char *strcpy(char *restrict dest, const char *restrict src)
{
	if (dest == src \
		|| dest == NULL)
		return dest;
	if (src == NULL)
	{
		dest[0] = '\0';
		return dest;
	}

	size_t counter = 0;
	while (*(dest + counter) = *(src + counter))
		++counter;
	*(dest + counter) = '\0';
	return dest;
}

int main()
{
	const char * const ORGANIZATION = "Eterfree";
	char organization[BUFSIZ];
	puts(strcpy(organization, ORGANIZATION));
	return 0;
}
